Conventional portable computing devices such as personal digital assistants (PDAs), cell phones, and smart phones typically include a number of applications, such as email, camera, word processor, and camcorder. An application launcher is designed to display the available applications, and to launch the applications upon user request. The application launcher usually employs a graphical user interface to facilitate interaction with the user.
In more detail, the user accesses the applications menu of the launcher (e.g., icons for each selectable application), and then selects the desired application (e.g., using a stylus, navigation controls, or a touch screen). The application is then launched. Once the application is running, the user can use that application to select corresponding data sources to work on or otherwise use. These data sources could be, for example, a list of emails, photographs, text documents, or video files (depending on the particular application that is running). To access any one particular data source, the user has to navigate to the desired data source, and select that source to open it in the already running application.
There are a number of problems associated with such application-based launching and data source access techniques. For example, such conventional techniques can be inefficient if there are multiple data sources (e.g., emails, text messages, and voicemails), where each source requires a different application to be launched. This is particularly a problem for devices having minimalistic or otherwise limited memory and/or processing capability, where only one application can be loaded and running at any one time. Many mobile devices fall into this category. In addition, conventional application-based launching and data access requires a significant number of steps for users to access the desired content. This can result in frustration as well as loss of valuable time, thereby discouraging an application rich environment in the context of mobile devices.
Some desktop operating systems allow the user to see a list of documents, where the user can select any one document and cause the corresponding application to launch. However, the functionality provided by these operating systems is limited. For instance, the user cannot personalize the display of how the data sources are listed. Nor can the user easily categorize how the data sources are stored. Moreover, such systems typically show only documents that are supported by the system (non-supported documents are not included in the view).
What is needed, therefore, are techniques for efficiently accessing data sources on mobile devices in a user-friendly manner.